home *** CD-ROM | disk | FTP | other *** search
/ The Atari Compendium / The Atari Compendium (Toad Computers) (1994).iso / files / prgtools / gnustuff / tos / updates / update20.zoo / gas / diffs next >
Encoding:
Text File  |  1992-04-02  |  28.0 KB  |  996 lines

  1. *** 1.1    1992/04/02 22:37:22
  2. --- Makefile    1992/04/03 03:33:36
  3. ***************
  4. *** 1,3 ****
  5. --- 1,9 ----
  6. + # HISTORY
  7. + # 31-Jul-91  Shin Iwamoto (shin) at CANON Inc.
  8. + #    Added difinitions for STONE.
  9. + # old day    Shin Iwamoto (shin) at CANON Inc.
  10. + #    Added -DCANON.
  11.   # Makefile for GAS.
  12.   # Copyright (C) 1989, Free Software Foundation
  13.   # 
  14. ***************
  15. *** 21,32 ****
  16.   # SPARC, ns32k, or i860 assembler(s).
  17.   
  18.   BINDIR = /usr/local/bin
  19. ! #CC=gcc
  20.   
  21.   # If you are on a BSD system, un-comment the next two lines, and comment out
  22.   # the lines for SystemV and HPUX below
  23. ! G0 = -g  -I. #-O -Wall
  24. ! LDFLAGS = $(CFLAGS)
  25.   #
  26.   # To compile gas on a System Five machine, comment out the two lines above
  27.   # and un-comment out the next three lines
  28. --- 27,43 ----
  29.   # SPARC, ns32k, or i860 assembler(s).
  30.   
  31.   BINDIR = /usr/local/bin
  32. ! CC=gcc
  33.   
  34.   # If you are on a BSD system, un-comment the next two lines, and comment out
  35.   # the lines for SystemV and HPUX below
  36. ! #G0 = -g  -I. #-O -Wall
  37. ! #LDFLAGS = $(CFLAGS)
  38. ! #
  39. ! # To compile gas for STONE, link m-stone.h to m68k.h, and un-comment the
  40. ! # next two lines.
  41. ! G0 = -g  -I. -Dm68040 -DCANON #-O -Wall
  42. ! LDFLAGS = 
  43.   #
  44.   # To compile gas on a System Five machine, comment out the two lines above
  45.   # and un-comment out the next three lines
  46. ***************
  47. *** 122,128 ****
  48.   
  49.   G1 = # -DUSE_SYSTEM_HDR
  50.   G2 = # -DUSE_HP_HDR
  51. ! G3 = # -DSUN_ASM_SYNTAX
  52.   
  53.   OPTIONS = $(O1) $(O2) $(O3) $(O4) $(O5) $(O6) $(O7) $(O8) $(O9) $(O10)
  54.   
  55. --- 133,139 ----
  56.   
  57.   G1 = # -DUSE_SYSTEM_HDR
  58.   G2 = # -DUSE_HP_HDR
  59. ! G3 =  -DSUN_ASM_SYNTAX
  60.   
  61.   OPTIONS = $(O1) $(O2) $(O3) $(O4) $(O5) $(O6) $(O7) $(O8) $(O9) $(O10)
  62.   
  63. *** 1.1    1992/04/02 22:42:46
  64. --- Makefile.st    1992/04/03 03:33:37
  65. ***************
  66. *** 118,124 ****
  67.   #
  68.   
  69.   CC=$(CROSSBIN)/cgcc
  70. ! CFLAGS = -O -I. -I$(CROSSINC) $(OPTIONS)
  71.   LDFLAGS = $(CFLAGS)
  72.   # To compile gas on a System Five machine, comment out the two lines above
  73.   # and un-comment out the next three lines
  74. --- 118,124 ----
  75.   #
  76.   
  77.   CC=$(CROSSBIN)/cgcc
  78. ! CFLAGS = -O2 -fomit-frame-pointer -fstrength-reduce -I. -I$(CROSSINC) $(OPTIONS)
  79.   LDFLAGS = $(CFLAGS)
  80.   # To compile gas on a System Five machine, comment out the two lines above
  81.   # and un-comment out the next three lines
  82. *** 1.2    1992/04/02 22:42:46
  83. --- app.c    1992/04/03 03:33:39
  84. ***************
  85. *** 257,262 ****
  86. --- 257,268 ----
  87.               (*unget)(ch);
  88.               goto flushchar;
  89.           }
  90. + #ifdef CANON
  91. +         if(ch==':') {
  92. +             (*unget)(ch);
  93. +             goto flushchar;
  94. +         }
  95. + #endif CANON
  96.           (*unget)(ch);
  97.           if(state==0 || state==2) {
  98.               state++;
  99. *** 1.2    1992/04/02 22:42:46
  100. --- as.c    1992/04/03 03:33:39
  101. ***************
  102. *** 181,187 ****
  103. --- 181,193 ----
  104.                   compiler_version_string = arg;
  105.                   }
  106.   #else /* not VMS */
  107. + #if defined(CROSSATARI) || defined(atarist) || defined(atariminix)
  108. + #include "PatchLev.h"
  109. +                 fprintf(stderr, "%s atariST PatchLevel %s\n",
  110. +                    version_string, PatchLevel);
  111. + #else
  112.                   fprintf(stderr,version_string);
  113. + #endif
  114.                   if(*arg && strcmp(arg,"ersion"))
  115.                       as_warn("Unknown -v option ignored");
  116.   #endif
  117. *** 1.2    1992/04/02 22:42:46
  118. --- m68k-opcode.h    1992/04/03 03:33:48
  119. ***************
  120. *** 1,3 ****
  121. --- 1,17 ----
  122. + /*
  123. +  * HISTORY
  124. +  * 09-Aug-91  Shin Iwamoto (shin) at CANON Inc.
  125. +  *    Added the following floating-point instruction on mc68040:
  126. +  *        F[SD]ADD, F[SD]SUB, F[SD]MUL, F[SD]DIV, F[SD]ABS,
  127. +  *        F[SD]NEG, F[SD]SQRT, F[SD]MOVE
  128. +  *    Removed fsubx with one register.
  129. +  * 07-Aug-91  Shin Iwamoto (shin) at CANON Inc.
  130. +  *    Added definitions for indirectly supported floating-point
  131. +  *    instructions on mc68040.
  132. +  * 23-Jan-91  K. Chyo (chyo) at DPS of CANON Inc.
  133. +  *    Enhanced for mc68040 support.
  134. +  */
  135.   /* Opcode table for m68000/m68020 and m68881.
  136.      Copyright (C) 1989, Free Software Foundation.
  137.   
  138. ***************
  139. *** 17,23 ****
  140.   along with GDB or GAS; see the file COPYING.  If not, write to
  141.   the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA.  */
  142.      
  143.   struct m68k_opcode
  144.   {
  145.     char *name;
  146. --- 31,36 ----
  147. ***************
  148. *** 87,92 ****
  149. --- 100,115 ----
  150.       802    CAAR    Cache Address Register
  151.       803    MSP    Master Stack Pointer
  152.       804    ISP    Interrupt Stack Pointer
  153. + #ifdef m68040
  154. +     003    MMU Translation Control reg
  155. +     004    Instruction Transparant Tlanslation reg 0
  156. +     005    Instruction Transparant Tlanslation reg 1
  157. +     006    Data Transparant Tlanslation reg 0
  158. +     007    Data Transparant Tlanslation reg 1
  159. +     805    MMU Status reg
  160. +     806    User Root Pointer
  161. +     807    Supervisor Root Pointer
  162. + #endif m68040
  163.   
  164.       L  Register list of the type d0-d7/a0-a7 etc.
  165.          (New!  Improved!  Can also hold fp0-fp7, as well!)
  166. ***************
  167. *** 111,116 ****
  168. --- 134,145 ----
  169.      /  control, or data register            (modes 0,2,5,6,7.0,7.1,7.2,7.3)(not 1,3,4,7.4)
  170.   */
  171.   
  172. + #ifdef m68040
  173. + /*
  174. +    a  address register indirect only.  Stored as 3 bits.
  175. +    c  cache immediate data.  Stored as 2 bits.
  176. + */
  177. + #endif m68040
  178.   /* JF: for the 68851 */
  179.   /*
  180.      I didn't use much imagination in choosing the 
  181. ***************
  182. *** 1185,1191 ****
  183.   {"fsubw",    two(0xF000, 0x5028),    two(0xF1C0, 0xFC7F),    "Ii;wF7"},
  184.   {"fsubx",    two(0xF000, 0x0028),    two(0xF1C0, 0xE07F),    "IiF8F7"},
  185.   {"fsubx",    two(0xF000, 0x4828),    two(0xF1C0, 0xFC7F),    "Ii;xF7"},
  186. ! {"fsubx",    two(0xF000, 0x0028),    two(0xF1C0, 0xE07F),    "IiFt"},
  187.   
  188.   {"ftanb",    two(0xF000, 0x580F),    two(0xF1C0, 0xFC7F),    "Ii;bF7"},
  189.   {"ftand",    two(0xF000, 0x540F),    two(0xF1C0, 0xFC7F),    "Ii;FF7"},
  190. --- 1214,1220 ----
  191.   {"fsubw",    two(0xF000, 0x5028),    two(0xF1C0, 0xFC7F),    "Ii;wF7"},
  192.   {"fsubx",    two(0xF000, 0x0028),    two(0xF1C0, 0xE07F),    "IiF8F7"},
  193.   {"fsubx",    two(0xF000, 0x4828),    two(0xF1C0, 0xFC7F),    "Ii;xF7"},
  194. ! /* {"fsubx",    two(0xF000, 0x0028),    two(0xF1C0, 0xE07F),    "IiFt"}, Shin removed */
  195.   
  196.   {"ftanb",    two(0xF000, 0x580F),    two(0xF1C0, 0xFC7F),    "Ii;bF7"},
  197.   {"ftand",    two(0xF000, 0x540F),    two(0xF1C0, 0xFC7F),    "Ii;FF7"},
  198. ***************
  199. *** 1478,1483 ****
  200. --- 1507,1686 ----
  201.   {"movsw",    two(0007100, 0),    two(0177700, 07777),    "~sR1"},
  202.   {"movsw",    two(0007100, 04000),    two(0177700, 07777),    "R1~s"},
  203.   
  204. + #ifdef m68040
  205. + {"mov16",    two(0173040, 0100000),    two(0177770, 0100000),    "+s+1"},
  206. + {"mov16",    one(0173000),        one(0177770),        "+s#l"},
  207. + {"mov16",    one(0173010),        one(0177770),        "#l+s"},
  208. + {"mov16",    one(0173020),        one(0177770),        "as#l"},
  209. + {"mov16",    one(0173030),        one(0177770),        "#las"},
  210. + {"cinvl",    one(0172010),        one(0177470),        "c9as"},
  211. + {"cinvp",    one(0172020),        one(0177470),        "c9as"},
  212. + {"cinva",    one(0172030),        one(0177470),        "c9"},
  213. + {"cpushl",    one(0172050),        one(0177470),        "c9as"},
  214. + {"cpushp",    one(0172060),        one(0177470),        "c9as"},
  215. + {"cpusha",    one(0172070),        one(0177470),        "c9"},
  216. + {"pflushn",    one(0172400),        one(0177770),        "as"},
  217. + {"pflush",    one(0172410),        one(0177770),        "as"},
  218. + {"pflushan",    one(0172420),        one(0177770),        ""},
  219. + {"pflusha",    one(0172430),        one(0177770),        ""},
  220. + {"ptestw",    one(0172510),        one(0177770),        "as"},
  221. + {"ptestr",    one(0172550),        one(0177770),        "as"},
  222. + {"fsaddb",    two(0xF000, 0x5862),    two(0xF1C0, 0xFC7F),    "Ii;bF7"},
  223. + {"fsaddd",    two(0xF000, 0x5462),    two(0xF1C0, 0xFC7F),    "Ii;FF7"},
  224. + {"fsaddl",    two(0xF000, 0x4062),    two(0xF1C0, 0xFC7F),    "Ii;lF7"},
  225. + {"fsaddp",    two(0xF000, 0x4C62),    two(0xF1C0, 0xFC7F),    "Ii;pF7"},
  226. + {"fsadds",    two(0xF000, 0x4462),    two(0xF1C0, 0xFC7F),    "Ii;fF7"},
  227. + {"fsaddw",    two(0xF000, 0x5062),    two(0xF1C0, 0xFC7F),    "Ii;wF7"},
  228. + {"fsaddx",    two(0xF000, 0x0062),    two(0xF1C0, 0xE07F),    "IiF8F7"},
  229. + {"fsaddx",    two(0xF000, 0x4862),    two(0xF1C0, 0xFC7F),    "Ii;xF7"},
  230. + {"fdaddb",    two(0xF000, 0x5866),    two(0xF1C0, 0xFC7F),    "Ii;bF7"},
  231. + {"fdaddd",    two(0xF000, 0x5466),    two(0xF1C0, 0xFC7F),    "Ii;FF7"},
  232. + {"fdaddl",    two(0xF000, 0x4066),    two(0xF1C0, 0xFC7F),    "Ii;lF7"},
  233. + {"fdaddp",    two(0xF000, 0x4C66),    two(0xF1C0, 0xFC7F),    "Ii;pF7"},
  234. + {"fdadds",    two(0xF000, 0x4466),    two(0xF1C0, 0xFC7F),    "Ii;fF7"},
  235. + {"fdaddw",    two(0xF000, 0x5066),    two(0xF1C0, 0xFC7F),    "Ii;wF7"},
  236. + {"fdaddx",    two(0xF000, 0x0066),    two(0xF1C0, 0xE07F),    "IiF8F7"},
  237. + {"fdaddx",    two(0xF000, 0x4866),    two(0xF1C0, 0xFC7F),    "Ii;xF7"},
  238. + {"fssubb",    two(0xF000, 0x5868),    two(0xF1C0, 0xFC7F),    "Ii;bF7"},
  239. + {"fssubd",    two(0xF000, 0x5468),    two(0xF1C0, 0xFC7F),    "Ii;FF7"},
  240. + {"fssubl",    two(0xF000, 0x4068),    two(0xF1C0, 0xFC7F),    "Ii;lF7"},
  241. + {"fssubp",    two(0xF000, 0x4C68),    two(0xF1C0, 0xFC7F),    "Ii;pF7"},
  242. + {"fssubs",    two(0xF000, 0x4468),    two(0xF1C0, 0xFC7F),    "Ii;fF7"},
  243. + {"fssubw",    two(0xF000, 0x5068),    two(0xF1C0, 0xFC7F),    "Ii;wF7"},
  244. + {"fssubx",    two(0xF000, 0x0068),    two(0xF1C0, 0xE07F),    "IiF8F7"},
  245. + {"fssubx",    two(0xF000, 0x4868),    two(0xF1C0, 0xFC7F),    "Ii;xF7"},
  246. + {"fdsubb",    two(0xF000, 0x586C),    two(0xF1C0, 0xFC7F),    "Ii;bF7"},
  247. + {"fdsubd",    two(0xF000, 0x546C),    two(0xF1C0, 0xFC7F),    "Ii;FF7"},
  248. + {"fdsubl",    two(0xF000, 0x406C),    two(0xF1C0, 0xFC7F),    "Ii;lF7"},
  249. + {"fdsubp",    two(0xF000, 0x4C6C),    two(0xF1C0, 0xFC7F),    "Ii;pF7"},
  250. + {"fdsubs",    two(0xF000, 0x446C),    two(0xF1C0, 0xFC7F),    "Ii;fF7"},
  251. + {"fdsubw",    two(0xF000, 0x506C),    two(0xF1C0, 0xFC7F),    "Ii;wF7"},
  252. + {"fdsubx",    two(0xF000, 0x006C),    two(0xF1C0, 0xE07F),    "IiF8F7"},
  253. + {"fdsubx",    two(0xF000, 0x486C),    two(0xF1C0, 0xFC7F),    "Ii;xF7"},
  254. + {"fsmulb",    two(0xF000, 0x5863),    two(0xF1C0, 0xFC7F),    "Ii;bF7"},
  255. + {"fsmuld",    two(0xF000, 0x5463),    two(0xF1C0, 0xFC7F),    "Ii;FF7"},
  256. + {"fsmull",    two(0xF000, 0x4063),    two(0xF1C0, 0xFC7F),    "Ii;lF7"},
  257. + {"fsmulp",    two(0xF000, 0x4C63),    two(0xF1C0, 0xFC7F),    "Ii;pF7"},
  258. + {"fsmuls",    two(0xF000, 0x4463),    two(0xF1C0, 0xFC7F),    "Ii;fF7"},
  259. + {"fsmulw",    two(0xF000, 0x5063),    two(0xF1C0, 0xFC7F),    "Ii;wF7"},
  260. + {"fsmulx",    two(0xF000, 0x0063),    two(0xF1C0, 0xE07F),    "IiF8F7"},
  261. + {"fsmulx",    two(0xF000, 0x4863),    two(0xF1C0, 0xFC7F),    "Ii;xF7"},
  262. + {"fdmulb",    two(0xF000, 0x5867),    two(0xF1C0, 0xFC7F),    "Ii;bF7"},
  263. + {"fdmuld",    two(0xF000, 0x5467),    two(0xF1C0, 0xFC7F),    "Ii;FF7"},
  264. + {"fdmull",    two(0xF000, 0x4067),    two(0xF1C0, 0xFC7F),    "Ii;lF7"},
  265. + {"fdmulp",    two(0xF000, 0x4C67),    two(0xF1C0, 0xFC7F),    "Ii;pF7"},
  266. + {"fdmuls",    two(0xF000, 0x4467),    two(0xF1C0, 0xFC7F),    "Ii;fF7"},
  267. + {"fdmulw",    two(0xF000, 0x5067),    two(0xF1C0, 0xFC7F),    "Ii;wF7"},
  268. + {"fdmulx",    two(0xF000, 0x0067),    two(0xF1C0, 0xE07F),    "IiF8F7"},
  269. + {"fdmulx",    two(0xF000, 0x4867),    two(0xF1C0, 0xFC7F),    "Ii;xF7"},
  270. + {"fsdivb",    two(0xF000, 0x5860),    two(0xF1C0, 0xFC7F),    "Ii;bF7"},
  271. + {"fsdivd",    two(0xF000, 0x5460),    two(0xF1C0, 0xFC7F),    "Ii;FF7"},
  272. + {"fsdivl",    two(0xF000, 0x4060),    two(0xF1C0, 0xFC7F),    "Ii;lF7"},
  273. + {"fsdivp",    two(0xF000, 0x4C60),    two(0xF1C0, 0xFC7F),    "Ii;pF7"},
  274. + {"fsdivs",    two(0xF000, 0x4460),    two(0xF1C0, 0xFC7F),    "Ii;fF7"},
  275. + {"fsdivw",    two(0xF000, 0x5060),    two(0xF1C0, 0xFC7F),    "Ii;wF7"},
  276. + {"fsdivx",    two(0xF000, 0x0060),    two(0xF1C0, 0xE07F),    "IiF8F7"},
  277. + {"fsdivx",    two(0xF000, 0x4860),    two(0xF1C0, 0xFC7F),    "Ii;xF7"},
  278. + {"fddivb",    two(0xF000, 0x5864),    two(0xF1C0, 0xFC7F),    "Ii;bF7"},
  279. + {"fddivd",    two(0xF000, 0x5464),    two(0xF1C0, 0xFC7F),    "Ii;FF7"},
  280. + {"fddivl",    two(0xF000, 0x4064),    two(0xF1C0, 0xFC7F),    "Ii;lF7"},
  281. + {"fddivp",    two(0xF000, 0x4C64),    two(0xF1C0, 0xFC7F),    "Ii;pF7"},
  282. + {"fddivs",    two(0xF000, 0x4464),    two(0xF1C0, 0xFC7F),    "Ii;fF7"},
  283. + {"fddivw",    two(0xF000, 0x5064),    two(0xF1C0, 0xFC7F),    "Ii;wF7"},
  284. + {"fddivx",    two(0xF000, 0x0064),    two(0xF1C0, 0xE07F),    "IiF8F7"},
  285. + {"fddivx",    two(0xF000, 0x4864),    two(0xF1C0, 0xFC7F),    "Ii;xF7"},
  286. + {"fsabsb",    two(0xF000, 0x5858),    two(0xF1C0, 0xFC7F),    "Ii;bF7"},
  287. + {"fsabsd",    two(0xF000, 0x5458),    two(0xF1C0, 0xFC7F),    "Ii;FF7"},
  288. + {"fsabsl",    two(0xF000, 0x4058),    two(0xF1C0, 0xFC7F),    "Ii;lF7"},
  289. + {"fsabsp",    two(0xF000, 0x4C58),    two(0xF1C0, 0xFC7F),    "Ii;pF7"},
  290. + {"fsabss",    two(0xF000, 0x4458),    two(0xF1C0, 0xFC7F),    "Ii;fF7"},
  291. + {"fsabsw",    two(0xF000, 0x5058),    two(0xF1C0, 0xFC7F),    "Ii;wF7"},
  292. + {"fsabsx",    two(0xF000, 0x0058),    two(0xF1C0, 0xE07F),    "IiF8F7"},
  293. + {"fsabsx",    two(0xF000, 0x4858),    two(0xF1C0, 0xFC7F),    "Ii;xF7"},
  294. + {"fsabsx",    two(0xF000, 0x0058),    two(0xF1C0, 0xE07F),    "IiFt"},
  295. + {"fdabsb",    two(0xF000, 0x585C),    two(0xF1C0, 0xFC7F),    "Ii;bF7"},
  296. + {"fdabsd",    two(0xF000, 0x545C),    two(0xF1C0, 0xFC7F),    "Ii;FF7"},
  297. + {"fdabsl",    two(0xF000, 0x405C),    two(0xF1C0, 0xFC7F),    "Ii;lF7"},
  298. + {"fdabsp",    two(0xF000, 0x4C5C),    two(0xF1C0, 0xFC7F),    "Ii;pF7"},
  299. + {"fdabss",    two(0xF000, 0x445C),    two(0xF1C0, 0xFC7F),    "Ii;fF7"},
  300. + {"fdabsw",    two(0xF000, 0x505C),    two(0xF1C0, 0xFC7F),    "Ii;wF7"},
  301. + {"fdabsx",    two(0xF000, 0x005C),    two(0xF1C0, 0xE07F),    "IiF8F7"},
  302. + {"fdabsx",    two(0xF000, 0x485C),    two(0xF1C0, 0xFC7F),    "Ii;xF7"},
  303. + {"fdabsx",    two(0xF000, 0x005C),    two(0xF1C0, 0xE07F),    "IiFt"},
  304. + {"fsnegb",    two(0xF000, 0x585A),    two(0xF1C0, 0xFC7F),    "Ii;bF7"},
  305. + {"fsnegd",    two(0xF000, 0x545A),    two(0xF1C0, 0xFC7F),    "Ii;FF7"},
  306. + {"fsnegl",    two(0xF000, 0x405A),    two(0xF1C0, 0xFC7F),    "Ii;lF7"},
  307. + {"fsnegp",    two(0xF000, 0x4C5A),    two(0xF1C0, 0xFC7F),    "Ii;pF7"},
  308. + {"fsnegs",    two(0xF000, 0x445A),    two(0xF1C0, 0xFC7F),    "Ii;fF7"},
  309. + {"fsnegw",    two(0xF000, 0x505A),    two(0xF1C0, 0xFC7F),    "Ii;wF7"},
  310. + {"fsnegx",    two(0xF000, 0x005A),    two(0xF1C0, 0xE07F),    "IiF8F7"},
  311. + {"fsnegx",    two(0xF000, 0x485A),    two(0xF1C0, 0xFC7F),    "Ii;xF7"},
  312. + {"fsnegx",    two(0xF000, 0x005A),    two(0xF1C0, 0xE07F),    "IiFt"},
  313. + {"fdnegb",    two(0xF000, 0x585E),    two(0xF1C0, 0xFC7F),    "Ii;bF7"},
  314. + {"fdnegd",    two(0xF000, 0x545E),    two(0xF1C0, 0xFC7F),    "Ii;FF7"},
  315. + {"fdnegl",    two(0xF000, 0x405E),    two(0xF1C0, 0xFC7F),    "Ii;lF7"},
  316. + {"fdnegp",    two(0xF000, 0x4C5E),    two(0xF1C0, 0xFC7F),    "Ii;pF7"},
  317. + {"fdnegs",    two(0xF000, 0x445E),    two(0xF1C0, 0xFC7F),    "Ii;fF7"},
  318. + {"fdnegw",    two(0xF000, 0x505E),    two(0xF1C0, 0xFC7F),    "Ii;wF7"},
  319. + {"fdnegx",    two(0xF000, 0x005E),    two(0xF1C0, 0xE07F),    "IiF8F7"},
  320. + {"fdnegx",    two(0xF000, 0x485E),    two(0xF1C0, 0xFC7F),    "Ii;xF7"},
  321. + {"fdnegx",    two(0xF000, 0x005E),    two(0xF1C0, 0xE07F),    "IiFt"},
  322. + {"fssqrtb",    two(0xF000, 0x5841),    two(0xF1C0, 0xFC7F),    "Ii;bF7"},
  323. + {"fssqrtd",    two(0xF000, 0x5441),    two(0xF1C0, 0xFC7F),    "Ii;FF7"},
  324. + {"fssqrtl",    two(0xF000, 0x4041),    two(0xF1C0, 0xFC7F),    "Ii;lF7"},
  325. + {"fssqrtp",    two(0xF000, 0x4C41),    two(0xF1C0, 0xFC7F),    "Ii;pF7"},
  326. + {"fssqrts",    two(0xF000, 0x4441),    two(0xF1C0, 0xFC7F),    "Ii;fF7"},
  327. + {"fssqrtw",    two(0xF000, 0x5041),    two(0xF1C0, 0xFC7F),    "Ii;wF7"},
  328. + {"fssqrtx",    two(0xF000, 0x0041),    two(0xF1C0, 0xE07F),    "IiF8F7"},
  329. + {"fssqrtx",    two(0xF000, 0x4841),    two(0xF1C0, 0xFC7F),    "Ii;xF7"},
  330. + {"fssqrtx",    two(0xF000, 0x0041),    two(0xF1C0, 0xE07F),    "IiFt"},
  331. + {"fdsqrtb",    two(0xF000, 0x5845),    two(0xF1C0, 0xFC7F),    "Ii;bF7"},
  332. + {"fdsqrtd",    two(0xF000, 0x5445),    two(0xF1C0, 0xFC7F),    "Ii;FF7"},
  333. + {"fdsqrtl",    two(0xF000, 0x4045),    two(0xF1C0, 0xFC7F),    "Ii;lF7"},
  334. + {"fdsqrtp",    two(0xF000, 0x4C45),    two(0xF1C0, 0xFC7F),    "Ii;pF7"},
  335. + {"fdsqrts",    two(0xF000, 0x4445),    two(0xF1C0, 0xFC7F),    "Ii;fF7"},
  336. + {"fdsqrtw",    two(0xF000, 0x5045),    two(0xF1C0, 0xFC7F),    "Ii;wF7"},
  337. + {"fdsqrtx",    two(0xF000, 0x0045),    two(0xF1C0, 0xE07F),    "IiF8F7"},
  338. + {"fdsqrtx",    two(0xF000, 0x4845),    two(0xF1C0, 0xFC7F),    "Ii;xF7"},
  339. + {"fdsqrtx",    two(0xF000, 0x0045),    two(0xF1C0, 0xE07F),    "IiFt"},
  340. + {"fsmoveb",    two(0xF000, 0x5840),    two(0xF1C0, 0xFC7F),    "Ii;bF7"},
  341. + {"fsmoved",    two(0xF000, 0x5440),    two(0xF1C0, 0xFC7F),    "Ii;FF7"},
  342. + {"fsmovel",    two(0xF000, 0x4040),    two(0xF1C0, 0xFC7F),    "Ii;lF7"},
  343. + {"fsmovep",    two(0xF000, 0x4C40),    two(0xF1C0, 0xFC7F),    "Ii;pF7"},
  344. + {"fsmoves",    two(0xF000, 0x4440),    two(0xF1C0, 0xFC7F),    "Ii;fF7"},
  345. + {"fsmovew",    two(0xF000, 0x5040),    two(0xF1C0, 0xFC7F),    "Ii;wF7"},
  346. + {"fsmovex",    two(0xF000, 0x0040),    two(0xF1C0, 0xE07F),    "IiF8F7"},
  347. + {"fsmovex",    two(0xF000, 0x4840),    two(0xF1C0, 0xFC7F),    "Ii;xF7"},
  348. + {"fdmoveb",    two(0xF000, 0x5844),    two(0xF1C0, 0xFC7F),    "Ii;bF7"},
  349. + {"fdmoved",    two(0xF000, 0x5444),    two(0xF1C0, 0xFC7F),    "Ii;FF7"},
  350. + {"fdmovel",    two(0xF000, 0x4044),    two(0xF1C0, 0xFC7F),    "Ii;lF7"},
  351. + {"fdmovep",    two(0xF000, 0x4C44),    two(0xF1C0, 0xFC7F),    "Ii;pF7"},
  352. + {"fdmoves",    two(0xF000, 0x4444),    two(0xF1C0, 0xFC7F),    "Ii;fF7"},
  353. + {"fdmovew",    two(0xF000, 0x5044),    two(0xF1C0, 0xFC7F),    "Ii;wF7"},
  354. + {"fdmovex",    two(0xF000, 0x0044),    two(0xF1C0, 0xE07F),    "IiF8F7"},
  355. + {"fdmovex",    two(0xF000, 0x4844),    two(0xF1C0, 0xFC7F),    "Ii;xF7"},
  356. + #endif m68040
  357.   #ifdef m68851
  358.    /* name */    /* opcode */        /* match */        /* args */
  359.   
  360. ***************
  361. *** 1683,1685 ****
  362. --- 1886,1902 ----
  363.   int numopcodes=sizeof(m68k_opcodes)/sizeof(m68k_opcodes[0]);
  364.   
  365.   struct m68k_opcode *endop = m68k_opcodes+sizeof(m68k_opcodes)/sizeof(m68k_opcodes[0]);
  366. + #ifdef m68040
  367. + char *indirect_fp_opcodes[] =
  368. + {
  369. +     "facos",   "fasin",   "fatanh",  "fatan",    "fcosh",
  370. +     "fcos",    "fetoxm1", "fetox",   "fgetexp",  "fgetman", 
  371. +     "fintrz",  "fint",    "flog10",  "flog2",    "flognp1",
  372. +     "flogn",   "fmod",    "fmovecr", "frem",     "fscale",
  373. +     "fsgldiv", "fsglmul", "fsincos", "fsinh",    "fsin",
  374. +     "ftanh",   "ftan",    "ftentox", "ftwotox",
  375. + };
  376. + char **endfpinst = indirect_fp_opcodes+sizeof(indirect_fp_opcodes)/sizeof(indirect_fp_opcodes[0]);
  377. + #endif m68040
  378. *** 1.2    1992/04/02 22:42:46
  379. --- m68k.c    1992/04/03 03:33:48
  380. ***************
  381. *** 1,3 ****
  382. --- 1,18 ----
  383. + /*
  384. +  * HISTORY
  385. +  * 09-Sep-91  Shin Iwamoto (shin) at CANON Inc.
  386. +  *    Changed the default machine type as mc68040.
  387. +  *    Only changed the initial value of m68k_kind.
  388. +  * 09-Aug-91  Shin Iwamoto (shin) at CANON Inc.
  389. +  *    Supported -m68040 option. When -m68040 is specified,
  390. +  *    indirectly supported floating-point instructions and
  391. +  *    68020 instructions (callm and rtm) aren't assembled.
  392. +  * 31-Jul-91  Shin Iwamoto (shin) at CANON Inc.
  393. +  *    Changed <caches> definitions for CINV as mnemonic.
  394. +  * 23-Jan-91  K. Chyo (chyo) at DPS of CANON Inc.
  395. +  *    Supported instructions on mc68040.
  396. +  */
  397.   /* m68k.c  All the m68020 specific stuff in one convenient, huge,
  398.      slow to compile, easy to find file.
  399.      Copyright (C) 1987 Free Software Foundation, Inc.
  400. ***************
  401. *** 278,283 ****
  402. --- 293,315 ----
  403.   #define FPI    (MSP+1)        /* 45 */
  404.   #define FPS    (FPI+1)        /* 46 */
  405.   #define FPC    (FPS+1)        /* 47 */
  406. + #ifdef m68040
  407. + #define TC    (FPC+1)        /* 48 */
  408. + #define ITT0    (TC+1)        /* 49 */
  409. + #define ITT1    (ITT0+1)    /* 50 */
  410. + #define DTT0    (ITT1+1)    /* 51 */
  411. + #define DTT1    (DTT0+1)    /* 52 */
  412. + #define MMUSR    (DTT1+1)    /* 53 */
  413. + #define URP    (MMUSR+1)    /* 54 */
  414. + #define SRP    (URP+1)        /* 55 */
  415. + #define    NC    (SRP+1)        /* 56 */
  416. + #define    DC    (NC+1)        /* 57 */
  417. + #define    IC    (NC+2)        /* 58 */
  418. + #define    BC    (NC+3)        /* 59 */
  419. + #else /* m68040 */
  420.   /*
  421.    * these defines should be in m68k.c but
  422.    * i put them here to keep all the m68851 stuff
  423. ***************
  424. *** 297,302 ****
  425. --- 329,335 ----
  426.   #define BAC    (BAD+8)        /* 64,65,66,67, 68,69,70,71 */
  427.   #define PSR    (BAC+8)        /* 72 */
  428.   #define PCSR    (PSR+1)        /* 73 */
  429. + #endif m68040
  430.   
  431.   
  432.   /* Note that COPNUM==processor #1 -- COPNUM+7==#8, which stores as 000 */
  433. ***************
  434. *** 434,439 ****
  435. --- 467,482 ----
  436.   #define getone(x)    ((((x)->m_opcode)>>16)&0xffff)
  437.   #define gettwo(x)    (((x)->m_opcode)&0xffff)
  438.   
  439. + #ifdef m68040
  440. + /*
  441. +  * When m68k_kind is 4 (meaning m68040), our as doesn't assemble indirectly
  442. +  * supported floating-point instructions. And then the default is 4.
  443. +  */
  444. + /* int    m68k_kind = 4; *
  445. + /* ++jrb -- change m68k_kind to 0, to use 68040 support use -m68040 arg */
  446. + int    m68k_kind = 4;
  447. + #endif m68040
  448.   
  449.   /* JF modified this to handle cases where the first part of a symbol name
  450.      looks like a register */
  451. ***************
  452. *** 445,451 ****
  453. --- 488,499 ----
  454.       register char c1,
  455.           c2,
  456.           c3,
  457. + #ifdef m68040
  458. +         c4,
  459. +         c5;
  460. + #else
  461.           c4;
  462. + #endif m68040
  463.       register int n = 0,
  464.           ret = FAIL;
  465.   
  466. ***************
  467. *** 457,466 ****
  468. --- 505,520 ----
  469.       c2=mklower(ccp[0][2]);
  470.       c3=mklower(ccp[0][3]);
  471.       c4=mklower(ccp[0][4]);
  472. + #ifdef m68040
  473. +     c5=mklower(ccp[0][5]);
  474. + #endif m68040
  475.   #else
  476.       c2=mklower(ccp[0][1]);
  477.       c3=mklower(ccp[0][2]);
  478.       c4=mklower(ccp[0][3]);
  479. + #ifdef m68040
  480. +     c5=mklower(ccp[0][4]);
  481. + #endif m68040
  482.   #endif
  483.       switch(c1) {
  484.       case 'a':
  485. ***************
  486. *** 475,480 ****
  487. --- 529,542 ----
  488.           }
  489.   #endif
  490.           break;
  491. + #ifdef m68040
  492. +     case 'b':
  493. +         if (c2 == 'c') {
  494. +             n = 2;
  495. +             ret = BC;
  496. +         }
  497. +         break;
  498. + #endif m68040
  499.   #ifdef m68851
  500.       case 'b':
  501.           if (c2 == 'a') {
  502. ***************
  503. *** 532,537 ****
  504. --- 594,613 ----
  505.               ret = (DRP);
  506.           }
  507.   #endif
  508. + #ifdef m68040
  509. +         else if (c2 == 't' && c3 == 't' && c4 == '0') {
  510. +              n = 4;
  511. +             ret = DTT0;
  512. +         }
  513. +         else if (c2 == 't' && c3 == 't' && c4 == '1') {
  514. +             n = 4;
  515. +             ret = DTT1;
  516. +         }
  517. +         else if (c2 == 'c') {
  518. +             n = 2;
  519. +             ret = DC;
  520. +         }
  521. + #endif m68040
  522.           break;
  523.       case 'f':
  524.           if(c2=='p') {
  525. ***************
  526. *** 557,562 ****
  527. --- 633,652 ----
  528.               n=3;
  529.               ret = ISP;
  530.           }
  531. + #ifdef m68040
  532. +         else if (c2 == 't' && c3 == 't' && c4 == '0') {
  533. +             n = 4;
  534. +             ret = ITT0;
  535. +         }
  536. +         else if (c2 == 't' && c3 == 't' && c4 == '1') {
  537. +             n = 4;
  538. +             ret = ITT1;
  539. +         }
  540. +         else if (c2 == 'c') { 
  541. +             n = 2;
  542. +             ret = IC;
  543. +         }
  544. + #endif m68040
  545.           break;
  546.       case 'm':
  547.           if(c2=='s' && c3=='p') {
  548. ***************
  549. *** 563,569 ****
  550. --- 653,674 ----
  551.               n=3;
  552.               ret = MSP;
  553.           }
  554. + #ifdef m68040
  555. +         else if (c2 == 'm' && c3 == 'u' && c4 == 's' && c5 == 'r') 
  556. +         {
  557. +             n = 5;
  558. +             ret = MMUSR;
  559. +         }
  560. + #endif m68040
  561. +         break;
  562. + #ifdef m68040
  563. +     case 'n':
  564. +         if(c2=='c') {
  565. +             n=2;
  566. +             ret = NC;
  567. +         }
  568.           break;
  569. + #endif m68040
  570.       case 'p':
  571.           if(c2=='c') {
  572.   #ifdef m68851
  573. ***************
  574. *** 585,590 ****
  575. --- 690,701 ----
  576.   #endif
  577.           break;
  578.       case 's':
  579. + #ifdef m68040
  580. +         if (c2 == 'r' && c3 == 'p') {
  581. +             n = 3;
  582. +             ret = (SRP);
  583. +         } else
  584. + #endif m68040
  585.   #ifdef m68851
  586.           if (c2 == 'c' && c3 == 'c') {
  587.               n = 3;
  588. ***************
  589. *** 605,611 ****
  590.               ret = SFC;
  591.           }
  592.           break;
  593. ! #ifdef m68851
  594.       case 't':
  595.           if(c2 == 'c') {
  596.               n=2;
  597. --- 716,722 ----
  598.               ret = SFC;
  599.           }
  600.           break;
  601. ! #if defined(m68851) || defined(m68040)
  602.       case 't':
  603.           if(c2 == 'c') {
  604.               n=2;
  605. ***************
  606. *** 614,619 ****
  607. --- 725,736 ----
  608.           break;
  609.   #endif
  610.       case 'u':
  611. + #ifdef m68040
  612. +         if (c2 == 'r' && c3 == 'p') {
  613. +             n = 3;
  614. +             ret = (URP);
  615. +         } else
  616. + #endif m68040
  617.           if(c2=='s' && c3=='p') {
  618.               n=3;
  619.               ret = USP;
  620. ***************
  621. *** 673,679 ****
  622. --- 790,803 ----
  623.           return FAIL;
  624.       }
  625.       for(strend=str;*strend;strend++)
  626. + #if defined(CANON) && defined(SUN_ASM_SYNTAX)
  627. +         if (*strend == ' ' || *strend == '\t') {
  628. +             *strend = '\0';
  629. +             break;
  630. +         }
  631. + #else
  632.           ;
  633. + #endif CANON && SUN_ASM_SYNTAX
  634.       --strend;
  635.   
  636.           /* Guess what:  A constant.  Shar and enjoy */
  637. ***************
  638. *** 1016,1022 ****
  639. --- 1140,1154 ----
  640.     /* Scan up to end of operation-code, which MUST end in end-of-string
  641.        or exactly 1 space. */
  642.       for (p = instring; *p != '\0'; p++)
  643. + #if defined(CANON) && defined(SUN_ASM_SYNTAX)
  644. +         /*
  645. +          * On SUN's Assembler, an operator and operands can be
  646. +          * separeted by spaces or tabs. (Shin)
  647. +          */
  648. +         if (*p == ' ' || *p == '\t')
  649. + #else
  650.           if (*p == ' ')
  651. + #endif CANON && SUN_ASUM_SYNTAX
  652.               break;
  653.   
  654.   
  655. ***************
  656. *** 1032,1037 ****
  657. --- 1164,1176 ----
  658.        look it up in the hash table, then fix it back. */   
  659.       c = *p;
  660.       *p = '\0';
  661. + #ifdef m68040
  662. +     if (m68k_kind == 4 && (
  663. +              (instring[0] == 'f' && indirect_fp_inst(instring))
  664. +             || m68020_only_inst(instring) )){
  665. +         opcode = NULL;
  666. +     } else
  667. + #endif m68040
  668.       opcode = (struct m68_incant *)hash_find (op_hash, instring);
  669.       *p = c;
  670.   
  671. ***************
  672. *** 1042,1047 ****
  673. --- 1181,1192 ----
  674.           return;
  675.       }
  676.   
  677. + #if defined(CANON) && defined(SUN_ASM_SYNTAX)
  678. +     for (; *p != '\0'; p++)
  679. +         if (!(*p == ' ' || *p == '\t'))
  680. +             break;
  681. + #endif CANON && SUN_ASM_SYNTAX
  682.     /* found a legitimate opcode, start matching operands */
  683.       for(opP= &the_ins.operands[0];*p;opP++) {
  684.           p = crack_operand (p, opP);
  685. ***************
  686. *** 1170,1175 ****
  687. --- 1315,1326 ----
  688.                       losing++;
  689.                   break;
  690.   
  691. + #ifdef m68040
  692. +             case 'a':
  693. +                 if(opP->mode!=AINDR)
  694. +                     losing++;
  695. +                 break;
  696. + #endif m68040
  697.               case 'A':
  698.                   if(opP->mode!=AREG)
  699.                       losing++;
  700. ***************
  701. *** 1179,1185 ****
  702. --- 1330,1343 ----
  703.                   if(opP->mode!=ABSL)
  704.                       losing++;
  705.                   break;
  706. + #ifdef m68040
  707. +             case 'c':
  708. +                 if(opP->mode!=MSCR || opP->reg<NC || opP->reg>BC)
  709. +                     losing++;
  710. +                 break;
  711.   
  712. + #endif
  713.               case 'C':
  714.                   if(opP->mode!=MSCR || opP->reg!=CCR)
  715.                       losing++;
  716. ***************
  717. *** 1208,1214 ****
  718. --- 1366,1378 ----
  719.                   break;
  720.   
  721.               case 'J':
  722. + #ifdef m68040
  723. +                 if(opP->mode!=MSCR ||
  724. +                    ((opP->reg<USP && opP->reg>MSP) &&
  725. +                     (opP->reg<TC && opP->reg>SRP)))
  726. + #else
  727.                   if(opP->mode!=MSCR || opP->reg<USP || opP->reg>MSP)
  728. + #endif m68040
  729.                       losing++;
  730.                   break;
  731.   
  732. ***************
  733. *** 1362,1368 ****
  734.               /* This switch is a doozy.
  735.                  What the first step; its a big one! */
  736.           switch(s[0]) {
  737.           case '*':
  738.           case '~':
  739.           case '%':
  740. --- 1526,1531 ----
  741. ***************
  742. *** 1761,1766 ****
  743. --- 1924,1932 ----
  744.           case '+':
  745.           case '-':
  746.           case 'A':
  747. + #ifdef m68040
  748. +         case 'a':
  749. + #endif m68040
  750.               install_operand(s[1],opP->reg-ADDR);
  751.               break;
  752.   
  753. ***************
  754. *** 1860,1865 ****
  755. --- 2026,2037 ----
  756.               }
  757.               break;
  758.   
  759. + #ifdef m68040
  760. +         case 'c':
  761. +             install_operand(s[1],opP->reg-NC);
  762. +             break;
  763. + #endif m68040
  764.           case 'C':        /* Ignore it */
  765.               break;
  766.   
  767. ***************
  768. *** 1928,1933 ****
  769. --- 2100,2131 ----
  770.               case ISP:
  771.                   tmpreg=0x804;
  772.                   break;
  773. + #ifdef m68040
  774. +             case TC:
  775. +                 tmpreg=0x003;
  776. +                 break;
  777. +             case ITT0:
  778. +                 tmpreg=0x004;
  779. +                 break;
  780. +             case ITT1:
  781. +                 tmpreg=0x005;
  782. +                 break;
  783. +             case DTT0:
  784. +                 tmpreg=0x006;
  785. +                 break;
  786. +             case DTT1:
  787. +                 tmpreg=0x007;
  788. +                 break;
  789. +             case MMUSR:
  790. +                 tmpreg=0x805;
  791. +                 break;
  792. +             case URP:
  793. +                 tmpreg=0x806;
  794. +                 break;
  795. +             case SRP:
  796. +                 tmpreg=0x807;
  797. +                 break;
  798. + #endif m68040
  799.               default:
  800.                   abort();
  801.               }
  802. ***************
  803. *** 2246,2251 ****
  804. --- 2444,2454 ----
  805.       case '8':
  806.           the_ins.opcode[1]|=val<<10;
  807.           break;
  808. + #ifdef m68040
  809. +     case '9':
  810. +         the_ins.opcode[0]|=val<<6;
  811. +         break;
  812. + #endif m68040
  813.   #ifdef m68851
  814.       case '9':
  815.           the_ins.opcode[1]|=val<<5;
  816. ***************
  817. *** 2321,2326 ****
  818. --- 2524,2536 ----
  819.       register int c;
  820.       register char *beg_str;
  821.   
  822. + /*
  823. + #ifdef CANON && SUN_ASM_SYNTAX
  824. +     for (; *str != '\0'; str++)
  825. +         if (!(*str == ' ' || *str == '\t'))
  826. +             break;
  827. + #endif CANON && SUN_ASM_SYNTAX
  828. +  */
  829.       if(!str) {
  830.           return str;
  831.       }
  832. ***************
  833. *** 3244,3249 ****
  834. --- 3454,3465 ----
  835.           break;
  836.       case SEG_ABSOLUTE:
  837.           switch(ok) {
  838. + #ifdef m68040
  839. +         case 5:
  840. +             if(offs(exp)<0 || offs(exp)>3)
  841. +                 goto outrange;
  842. +             break;
  843. + #endif m68040
  844.           case 10:
  845.               if(offs(exp)<1 || offs(exp)>8) {
  846.                   as_warn("expression out of range: defaulting to 1");
  847. ***************
  848. *** 3388,3393 ****
  849. --- 3604,3612 ----
  850.           break;
  851.   
  852.       case 'm':
  853. + #ifdef m68040
  854. +         m68k_kind = 0;
  855. + #endif m68040
  856.           /* Gas almost ignores this option! */
  857.           (*argP)++;
  858.           if(**argP=='c')
  859. ***************
  860. *** 3402,3407 ****
  861. --- 3621,3633 ----
  862.           } else if(!strcmp(*argP,"68020"))
  863.               flagseen['m']=0;
  864.           else
  865. + #ifdef m68040
  866. +             if(!strcmp(*argP,"68040")) {
  867. +             flagseen['m']=0;
  868. +             m68k_kind = 4;
  869. +             }
  870. +         else
  871. + #endif m68040
  872.               as_warn("Unknown -m option ignored");
  873.           while(**argP)
  874.               (*argP)++;
  875. ***************
  876. *** 3551,3553 ****
  877. --- 3777,3802 ----
  878.       abort();
  879.   }
  880.   #endif
  881. + #ifdef m68040
  882. + indirect_fp_inst(name)
  883. + char *name;
  884. + {
  885. +     char **fpinst;
  886. +     for (fpinst = indirect_fp_opcodes; fpinst < endfpinst; fpinst++) {
  887. +         if (!strncmp(name, *fpinst, strlen(*fpinst))
  888. +             && strlen(name) == strlen(*fpinst)+1)
  889. +             return TRUE;
  890. +     }
  891. +     return FALSE;
  892. + }
  893. + m68020_only_inst(name)
  894. + char *name;
  895. + {
  896. +     if (!strcmp(name, "callm") || !strcmp(name, "rtm"))
  897. +         return TRUE;
  898. +     return FALSE;
  899. + }
  900. + #endif m68040
  901. *** 1.1    1992/04/02 22:37:22
  902. --- read.c    1992/04/03 03:33:51
  903. ***************
  904. *** 1117,1122 ****
  905. --- 1117,1128 ----
  906.           input_line_pointer --; /* Backup over what was not a ','. */
  907.           temp_fill = 0;
  908.       }
  909. + #ifdef CANON
  910. +     if ( temp_repeat == 0 ) {
  911. +         ignore_rest_of_line();
  912. +         return;
  913. +     }
  914. + #endif CANON
  915.       if ( temp_repeat <= 0 ) {
  916.           as_warn("Repeat < 0, .space ignored");
  917.           ignore_rest_of_line();
  918. *** 1.1    1992/04/02 22:42:46
  919. --- stack.c    1992/04/03 03:33:53
  920. ***************
  921. *** 3,9 ****
  922.   #ifndef CROSSATARI
  923.   #ifndef atariminix
  924.   #ifdef atarist
  925. ! int _stksize = -1L;
  926.   #endif
  927.   #endif
  928.   #endif
  929. --- 3,10 ----
  930.   #ifndef CROSSATARI
  931.   #ifndef atariminix
  932.   #ifdef atarist
  933. ! long _stksize = -1L;
  934. ! unsigned long __DEFAULT_BUFSIZ__ = 64*1024L; /* why not ! */
  935.   #endif
  936.   #endif
  937.   #endif
  938. *** 1.1    1992/04/02 22:37:22
  939. --- version.c    1992/04/03 03:33:56
  940. ***************
  941. *** 1,7 ****
  942. --- 1,15 ----
  943.   #if defined(__STDC__) || defined(const)
  944.   const
  945.   #endif
  946. + #ifdef CANON
  947. + char version_string[] = "GNU assembler version 1.38(Modified 1.5)\n";
  948. + #else
  949. + #if defined(CROSSATARI) || defined(atarist) || defined(atariminix)
  950. + char version_string[] = "GNU assembler version 1.38";
  951. + #else
  952.   char version_string[] = "GNU assembler version 1.38\n";
  953. + #endif /* atari */
  954. + #endif CANON
  955.   
  956.   /* DO NOT PUT COMMENTS ABOUT CHANGES IN THIS FILE.
  957.   
  958.